package com.ctsi.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ctsi.core.database.entity.BaseEntity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @version 1.0
 * @author: wang xiao xiang
 * @date: 2022/7/5 14:14
 */
@Data
@TableName("mars_sys_client")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "客户端对象", description = "对象")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Client extends BaseEntity {

    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 客户端id
     */
    @ApiModelProperty(value = "客户端id")
    private String clientId;

    /**
     * 客户端密钥
     */
    @ApiModelProperty(value = "客户端密钥")
    private String clientSecret;

    /**
     * 客户端名称
     */
    @ApiModelProperty(value = "客户端名称")
    private String clientName;


    /**
     * 资源集合
     */
    @ApiModelProperty(value = "资源集合")
    private String resourceIds;

    /**
     * 授权范围
     */
    @ApiModelProperty(value = "授权范围")
    private String scope;

    /**
     * 授权类型
     */
    @ApiModelProperty(value = "授权类型")
    private String authorizedGrantTypes;

    /**
     * 回调地址
     */
    @ApiModelProperty(value = "回调地址")
    private String webServerRedirectUri;

    /**
     * 权限
     */
    @ApiModelProperty(value = "权限")
    private String authorities;

    /**
     * 令牌过期秒数
     */
    @ApiModelProperty(value = "令牌过期秒数")
    private Integer accessTokenValidity;

    /**
     * 刷新令牌过期秒数
     */
    @ApiModelProperty(value = "刷新令牌过期秒数")
    private Integer refreshTokenValidity;

    /**
     * 附加说明
     */
    @ApiModelProperty(value = "附加说明")
    private String additionalInformation;

    /**
     * 自动授权
     */
    @ApiModelProperty(value = "自动授权")
    private String autoapprove;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private Integer status;
}